package config

import (
	"fmt"
	"github.com/google/wire"
	"github.com/spf13/viper"
)

// Init 初始化viper
func New(path string) (*viper.Viper, error) {
	var (
		err error
		v   = viper.New()
	)
	// 添加路径
	v.AddConfigPath(".")
	// 设置文件类型
	v.SetConfigType("yml")
	// 添加配置文件
	v.SetConfigFile(path)
	// 读取配置文件
	if err = v.ReadInConfig(); err != nil {
		return nil, err
	}
	fmt.Printf("user config file -> %s\n", v.ConfigFileUsed())
	return v, nil
}

var ProviderSet = wire.NewSet(New)
